package com.tedu.day02.test;
/*
         普通类       抽象类       接口类
*       【关系】      【特点】
* 类与类          继承         只能单继承、可多层继承
* 类与抽象类       继承         可以单继承，不可以多继承
* 抽象类与抽象类    继承         只能单继承、可多层继承
* 类与接口         实现         可以单继承，也可以多实现
*                             并且继承同时实现实现多个接口
* 接口与接口       继承         可以单继承，可以多继承
* */

/* 作业1：抽象类与接口的区别和关系？简答 */
/*区别：
* 接口类无法直接实例化【不能直接创建对象】,抽象类无法【实例化：创建对象】
* 接口使用implements定义其具体实现，抽象类使用extends实现继承
* 抽象类实例化方式：继承extends---子类---调方法
* 接口类实例化方式：实现implements---实现类---调方法【造型】
* 接口使用关键字interface来定义，抽象类使用关键字abstract来定义
* 接口是多继承，而抽象类是单继承
* 接口中不能使用静态代码块，抽象类中可以使用静态代码块
* 抽象类有构造方法，接口不能有构造方法
* 抽象类可以包含成员变量，而接口只能包含常量
*
* 关系：
* 都可以用于实现面向对象编程中的多态特性
* 都可以包含抽象方法，需要子类实现
* 都不能被实例化，只能被子类继承和实现
* */



//5.接口与接口       继承      可以单继承，可以多继承
interface Loo{}     interface Foo{}
interface Voo extends Loo,Foo{}

//4.类与接口：实现   ---可以单继承，也可以多实现
//interface Loo{}     interface Foo{}
//class Joo{}
//class Voo extends Joo implements Loo,Foo{}

//3.抽象类与抽象类：继承 -只能单继承、可多层继承
//abstract class Loo{}
//abstract class Voo extends Loo{}
//abstract class Uoo extends Voo{}

//2.类与抽象类:继承 --可以单继承，不可以多继承
//abstract class Uoo{}        abstract class Voo{}
//class Loo extends Uoo,Voo{}

//1.类与类：继承---单继承,可以多层继承
//class Uoo{}
//class Loo extends Uoo{}
//class Voo extends Loo{}

























public class 关系 {
}
